/**
 * i18n 客户端插件
 * 确保语言状态在页面导航时保持稳定，基于本地存储
 */
export default defineNuxtPlugin(() => {
  const { $i18n } = useNuxtApp()
  
  // 在客户端初始化时恢复用户的语言偏好
  if (process.client) {
    const savedLanguage = localStorage.getItem('preferred-language')
    if (savedLanguage) {
      // 设置语言，但不触发路由变化
      $i18n.setLocale(savedLanguage)
      console.log('从本地存储恢复语言:', savedLanguage)
    }
  }
  
  // 监听语言变化，确保本地存储同步
  watch(
    () => $i18n.locale.value,
    (newLocale) => {
      if (process.client) {
        localStorage.setItem('preferred-language', newLocale)
        console.log('语言变化已保存到本地存储:', newLocale)
      }
    }
  )
})